package com.humbleyuan.blogfront.service;


import com.humbleyuan.blogfront.entity.Blog;

import java.util.List;

/**
 * @Author: HumbleYuan
 * @description:博客service层
 * @Date: 2019/7/1
 * @Time: 9:43
 * @Version: 1.0
 */

public interface BlogService {

    /**
     * 获取前台主页显示博客信息
     *
     * @return 所有博客集合
     */
    List<Blog> getFrontBlogsOnMainPage();

    /**
     * 获取最近更新的博客文章
     *
     * @return 最近更新文章
     */
    List<Blog> getRecentBlogs(int num);

    /**
     * 获取点击量靠前的博客文章
     *
     * @return 点击量靠前的博客文章
     */
    List<Blog> getRankingBlogsList(int num);

    /**
     * 获取推荐的博客文章(按weight权重)
     *
     * @return 推荐的博客文章
     */
    List<Blog> getSupportBlogsList(int num);

    /**
     * 获取选中博客信息用于显示
     *
     * @param blogId
     * @return 选中博客
     */
    Blog getBlogInfoAndTagsAndCloseBlogsById(int blogId);

    /**
     * 获取随机推荐的博客
     *
     * @param num
     * @return 随机推荐博客集合
     */
    List<Blog> getRandomBlogsList(int num);

    /**
     * 根据categoryId获取博客集合
     *
     * @param categoryId
     * @return 分类后的blog集合
     */
    List<Blog> getFrontBlogsOnMainPageByCategory(int categoryId);

    /**
     * 按条件查询所有博客集合
     *
     * @param blog
     * @return 特定条件的博客集合
     */
    List<Blog> getFrontBlogsOnMainPageByConditions(Blog blog);

}
